Add maven build support for `examples`. (#891) * Add maven build support for `examples`. * Add travis task to verify maven examples build (gradle and maven).
diff --git a/.travis.yml b/.travis.yml index 14438c5..b2bbc91 100644 --- a/.travis.yml +++ b/.travis.yml
@@ -19,6 +19,14 @@ # contrib/agent, but are not installed by default. - openjdk-6-jdk + - jdk: oraclejdk8 + env: TASK=BUILD_EXAMPLES_GRADLE + os: linux + + - jdk: oraclejdk8 + env: TASK=BUILD_EXAMPLES_MAVEN + os: linux + - env: TASK=CHECK_GIT_HISTORY os: linux
diff --git a/examples/README.md b/examples/README.md index c9e67b9..cbdce24 100644 --- a/examples/README.md +++ b/examples/README.md
@@ -2,21 +2,40 @@ ## To build the examples use +### Gradle ``` $ ./gradlew installDist ``` +### Maven +``` +$ mvn package appassembler:assemble +``` + ## To run "StatsRunner" example use +### Gradle ``` $ ./build/install/examples/bin/StatsRunner ``` +### Maven +``` +$ ./target/appassembler/bin/StatsRunner +``` + ## To run "ZPagesTester" + +### Gradle ``` $ ./build/install/examples/bin/ZPagesTester ``` +### Maven +``` +$ ./target/appassembler/bin/ZPagesTester +``` + Available pages: * For tracing page go to [localhost:8080/tracez][ZPagesTraceZLink]. * For tracing config page go to [localhost:8080/traceconfigz][ZPagesTraceConfigZLink].
diff --git a/examples/pom.xml b/examples/pom.xml new file mode 100644 index 0000000..415f2ef --- /dev/null +++ b/examples/pom.xml
@@ -0,0 +1,85 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>io.opencensus</groupId> + <artifactId>opencensus-examples</artifactId> + <packaging>jar</packaging> + <version>0.11.0-SNAPSHOT</version><!-- CURRENT_OPENCENSUS_VERSION --> + <name>opencensus-examples</name> + <url>http://maven.apache.org</url> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <!-- change to the version you want to use. --> + <opencensus.version>0.10.1</opencensus.version><!-- LATEST_OPENCENSUS_VERSION --> + </properties> + <dependencies> + <dependency> + <groupId>io.opencensus</groupId> + <artifactId>opencensus-api</artifactId> + <version>${opencensus.version}</version> + </dependency> + <dependency> + <groupId>io.opencensus</groupId> + <artifactId>opencensus-contrib-zpages</artifactId> + <version>${opencensus.version}</version> + </dependency> + <dependency> + <groupId>io.opencensus</groupId> + <artifactId>opencensus-exporter-trace-logging</artifactId> + <version>${opencensus.version}</version> + </dependency> + <dependency> + <groupId>io.opencensus</groupId> + <artifactId>opencensus-impl</artifactId> + <version>${opencensus.version}</version> + <scope>runtime</scope> + </dependency> + </dependencies> + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.7.0</version> + <configuration> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> + </plugins> + </pluginManagement> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>appassembler-maven-plugin</artifactId> + <version>1.10</version> + <configuration> + <programs> + <program> + <id>StatsRunner</id> + <mainClass>io.opencensus.examples.stats.StatsRunner</mainClass> + </program> + <program> + <id>MultiSpansTracing</id> + <mainClass>io.opencensus.examples.trace.MultiSpansTracing</mainClass> + </program> + <program> + <id>MultiSpansScopedTracing</id> + <mainClass>io.opencensus.examples.trace.MultiSpansScopedTracing</mainClass> + </program> + <program> + <id>MultiSpansContextTracing</id> + <mainClass>io.opencensus.examples.trace.MultiSpansContextTracing</mainClass> + </program> + <program> + <id>ZPagesTester</id> + <mainClass>io.opencensus.examples.zpages.ZPagesTester</mainClass> + </program> + </programs> + </configuration> + </plugin> + </plugins> + </build> +</project> + diff --git a/scripts/travis_script b/scripts/travis_script index 0f8e313..3cd6a9b 100755 --- a/scripts/travis_script +++ b/scripts/travis_script
@@ -21,7 +21,6 @@ ./gradlew clean assemble --stacktrace ./gradlew check :opencensus-all:jacocoTestReport ./gradlew verGJF - pushd examples && ./gradlew clean assemble --stacktrace && popd ;; "openjdk7") # "./gradlew classes testClasses" is a workaround for @@ -42,7 +41,6 @@ # https://docs.travis-ci.com/user/reference/osx/#JDK-and-OS-X ./gradlew clean assemble --stacktrace ./gradlew check - pushd examples && ./gradlew clean assemble check --stacktrace && popd ;; *) echo "Unknown OS name $TRAVIS_OS_NAME" @@ -50,6 +48,12 @@ ;; esac ;; + "BUILD_EXAMPLES_GRADLE") + pushd examples && ./gradlew clean assemble --stacktrace && popd + ;; + "BUILD_EXAMPLES_MAVEN") + pushd examples && mvn clean package appassembler:assemble -e && popd + ;; *) echo "Unknown task $TASK" exit 1